This invention relates generally to the field of computer aided design of systems modeled by groups of objects located using a coordinate system and displayed, typically, on a computer monitor screen. As used below, "object" shall refer to an actual, real thing, including a zone of semi-conductor material, a printed logic symbol, a printed flow-chart box, a door or window in an architectural layout, etc. "Geometry" shall refer to a model or representation of an object located in a coordinate system. The model may be, for example, a data structure maintained in computer RAM or non-volatile memory. "Geometry" shall also refer to a representation of the object on a computer screen. In particular, the invention relates to a method and an apparatus for recording and automatically modifying the representation of geometries within the data structure, so that upon changing the size, shape, orientation or location of one geometry, other geometries automatically relocate to maintain preselected spatial relationships with the modified geometry, and with other geometries modified as a result of the modification to the first geometry.
Designers of different sorts of layouts now often use computers to aid the design. This type of design is known as "CAD" for "computer aided design". The term "CAE" refers to the related field of "computer aided engineering". Designers use CAE tools frequently in designing layouts for printed circuit boards, logic circuits, semiconductor chips, semiconductor mask-works, very large scale integrated circuits ("VLSI's"), architectural layouts, etc.
Typically, these tools accept input from the designer, either as cursor key strokes and/or mouse motions, or as a data file. The user's inputs define a growing group of geometries. Representations of the geometries are displayed on a computer screen as rectangles, circles, polygons, standard logic shapes, etc. Users of these CAE tools face problems when they want to change the size, shape, orientation or location of a geometry. In known devices, the data record described and keeps track of each geometry relative to the origin of a fixed coordinate system. The record(s) associated with each geometry is (are) independent of records of all other geometries. If a geometry is enlarged, so that its computer monitor representation overlaps another geometry, the user must manually move one or the other of the geometries to avoid the overlap. Similar problems can arise if the user reduces the size of the geometry, or changes the shape, orientation or location of a geometry.
In the field of semiconductor, chip design, a related and acute problem arises. Semiconductor chips are multi-layer devices, each layer including many objects, such as transistors, metal runs, load transistors and contacts. Some objects also occupy several layers, with different sized elements on each layer. In the chip design, not only must the designer insure that different elements do not collide or overlap, but the designer must also maintain minimum clearances between elements. The clearances are dictated by the physics governing the close location of very small electrical or semiconductor elements. These clearances must be maintained both between elements on the same layer, and between elements on different layers. Thus, even though change of a geometry location, etc., might not bring it into collision with another, the change might bring two geometries into an unacceptable proximity.
Many of the techniques of integrated circuit manufacture are photographic in nature. Actual hard copies of the layout are copied and reduced and then etched according to methods well known in the art. The hard copies may be generated by CAD equipment, using the same information that the designer used while designing the device. Thus, the problems encountered in designing an integrated circuit device also arise in connection with preparing the mask-works for their manufacture.